package com.gzh.teaching.service;

import com.gzh.core.dao.po.UserEntity;
import com.gzh.core.dao.po.WorkEntity;
import com.gzh.teaching.model.vo.*;
import com.gzh.teaching.service.dto.*;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface TeacherService {
  void addCourse(AddCourseIn paramToIn);

  List<CourseQueryOut> getCourseList(CourseQueryIn paramToIn);

    SaveJobOut saveJob(SaveJobIn paramToIn);

  List<GetJobOut> getJob(GetJobIn paramToIn);

  GetQuestionOut getQuestion(GetJobIn paramToIn);

  PublishWorkOut publishWork(PublishWorkIn paramToIn);

  PublishWorkOut editEndWork(PublishWorkIn paramToIn);

  PublishWorkOut deleteWork(PublishWorkIn paramToIn);

  List<UserEntity> queryUser(QueryUserIn paramToIn);

  AddUserOut addUser(AddUserIn in);

  List<CourseUserOut> queryCourseUser(CourseUserIn paramToIn);

  void deleteCourseUser(CourseUserIn paramToIn);

  SaveJobOut saveReport(SaveJobIn paramToIn);

  EditCourseOut editCourse(EditCourseIn paramToIn);

  List<CourseQueryOut> getOptionalCourse(CourseQueryIn paramToIn);

  QueryWorkDoneOut queryWorkDone(GetJobIn in);

  void saveComment(SaveCommentIn paramToIn);

    void initiateCheckIn(CheckInParam param);

  QueryCheckOut queryCheck(QueryCheckParam param);

  void exportPuntaje(String courseId, HttpServletResponse response);
}
